/**
 * Site header
 */

.logo {
    width: 100px;
    min-width: 100px;
    z-index: 10;
    position: relative;

    img {
        transition: opacity .25s ease-in-out;

        &.show-logo {
            opacity: 1;
        }
    }

    .logo-green {
        opacity: 1;
    }

    .logo-white {
        position: absolute;
        top: 0;
        left: 0;

        .static.menu-open & {
            opacity: 1;
        }
    }
}

.desktop-github-icon {
    color: $text-color-light !important;
}

.mobile-menu-button {
    background: none;
    border: 0px;
    width: 22px;
    height: 16px;
    position: relative;
    z-index: 25;
    padding: 0px;
    outline: none;
    user-select: none;

    & span {
        display: block;
        background-color: white;
        width: 100%;
        height: 2px;
        margin-bottom: 5px;
        transform-origin: 4px 0px;
        transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1) 0s, background-color .25s cubic-bezier(0.77, 0.2, 0.05, 1) 0s, opacity 0.55s ease 0s;
    }

    &.active span {
        opacity: 1;
        transform: rotate(45deg) translate(0px, 1px);
        background-color: white;
    }

    &.active span:nth-child(2) {
        opacity: 0;
        transform: rotate(0deg) scale(0.2, 0.2);
        background-color: white;
    }

    &.active span:last-child {
        transform: rotate(-45deg) translate(1px, -4px);
    }

    @include media-query-min($on-laptop) {
        display: none;
    }
}

.site-title {
    font-size: $logo-font-size;
    font-weight: $logo-font-weight;
    font-family: $logo-font-family;
    color: $text-color;
    letter-spacing: 0.06em;
    padding: $spacer-l 0 $spacer-m 0;
    margin-right: $spacer-xl * 1.2;
    border-bottom: 3px solid #000;

    &,
    &:visited {
        color: $text-color;
        // color: $grey-dark;
    }

    &:hover {
        text-decoration: none;
    }
}

/**
 * Site footer
 */
.site-footer {
    padding: $spacer-l*2 0;
    color: white;
    background-color: $green-darkest;
    font-size: 12px;

    ul li{
        // Gaps between nav items, but not on the last one
        &:not(:last-child) {
            margin-right: 20px;
        }
    }

    a {
        color: white;
        text-decoration: underline;
    }
}

.footer-heading {
    @include relative-font-size(1.125);
    margin-bottom: $spacer-xl / 2;
}

.contact-list,
.social-media-list {
    list-style: none;
    margin-left: 0;
}

.post-list-heading {
    @include relative-font-size(1.75);
}

.post-list {
    margin-left: 0;
    list-style: none;

    > li {
        margin-bottom: $spacer-xl;
    }
}

.post-meta {
    font-size: $small-font-size;
    color: $grey-medium;
}

.post-link {
    display: block;
    @include relative-font-size(1.5);
}

/**
 * Posts
 */
.post-header {
    margin-bottom: $spacer-xl;
}

.post-title {
    // @include relative-font-size(2.625);
    font-size: $title-font-size;
    font-weight: $title-font-weight;
    // letter-spacing: -1px;
    line-height: 1;

    @include media-query($on-laptop) {
        // @include relative-font-size(2.25);
    }
}

.post-content {
    margin-bottom: $spacer-xl;
}

.markdown .post-author {
    margin-top: $spacer-xl;
    margin-bottom: $spacer-m;
}

.markdown .post-date {
    color: $grey-medium;
}

.markdown .guest-post-banner {
    margin-left: $spacer-xxl;
    margin-right: $spacer-xxl;
    font-style: italic;
    font-size: $small-font-size;
    color: $grey-medium;
}


// hero styling

.hero{
    position: relative;
    padding: 80px 0;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background-color: $green-dark;
    height: 85vh;
    z-index: 10;

    &.home{
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    &.specifications, &.post-list {
        background-color: $green-light;
        height: auto;
    }

    &.markdown-page, &.post {
        background-color: white;
        height: auto;
        padding-bottom: 0;
    }
}

.section {
    position: relative;
    padding: 100px 0 100px;
    height: auto;

    @include media-query($on-mobile) {
        padding: 40px 0 40px;
    }

    &.intro {
        padding: 160px 0 160px;
    }

    &.cta_banner {
        padding:0;
        a {
            padding: 30px 0 30px;
            display: inline-block;

            &:hover{
                text-decoration: none;
            }
        }
    }
}

.footnotes {
    border-top: 1px solid $grey-border;
    padding-top: $spacer-m;
}
